package br.uniriotec.pssgbd.gerencia.model.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.uniriotec.pssgbd.gerencia.model.dao.BasePostgresDAO;
import br.uniriotec.pssgbd.gerencia.model.entidade.Casamento;

public class CasamentoPostgresDAO extends BasePostgresDAO<Casamento>
{
	
	@Override
	public List<Casamento> listar() throws Exception {
		Connection connection = criaConexao(false);
		String sql = "select * from v_casamento";
		PreparedStatement stmt = null;
		ResultSet rs = null;
		Casamento casamento = null;
		List<Casamento> listaCasamento = new ArrayList<Casamento>();
		try {
			stmt = connection.prepareStatement(sql);
			rs = stmt.executeQuery();
			while (rs.next()) {
				casamento = new Casamento();
				casamento.setNome(rs.getString("nome_casamento"));
				casamento.setData_hora(rs.getDate("data_e_hora"));
				casamento.setNoiva(rs.getString("noiva"));
				casamento.setNoivo(rs.getString("noivo"));
				casamento.setPaiNoivo(rs.getString("pai_noivo"));
				casamento.setMaeNoivo(rs.getString("mae_noivo"));
				casamento.setPaiNoiva(rs.getString("pai_noiva"));
				casamento.setMaeNoiva(rs.getString("mae_noiva"));
				casamento.setPadre(rs.getString("padre"));
				casamento.setQuantidade_padrinhos(rs.getInt("qt_padrinhos"));
				casamento.setQuantidade_convidados(rs.getInt("qt_convidados"));
				
				listaCasamento.add(casamento);
				
			}
		} catch (SQLException e) {
			throw e;
		} finally {
			try {
				stmt.close();
				rs.close();
				this.fechaConexao();
			} catch (SQLException e) {
				throw e;
			}

		}
		return listaCasamento;
	}

	@Override
	public void incluir(Casamento entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void alterar(Casamento entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void excluir(Casamento entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Casamento consultarPorId(Long id) throws Exception {
		// TODO Auto-generated method stub
		return null;
	}
}
